package com.hkts.management.feign;

import com.hkts.management.common.utils.Result;
import com.hkts.management.common.vo.DriverListInfoVo;
import com.hkts.management.common.vo.UserAndRealNameVo;
import com.hkts.management.model.TO.HktsRegionTo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

@FeignClient(value="management-front",configuration = FeignHeadersInterceptor.class)
public interface FrontInterface {

    /*@GetMapping("/front/hktsDriver/getHktsDriverPageList")
    public Result<Object> getHontUserList(Page<HktsDriverTo> page, HktsDriverTo hktsDriver);*/

    /*@GetMapping("/front/hktsDriver/getDriverByUserNameOrMobile")
    public Result<HktsDriverTo> getDriverByUserNameOrMobile(String userName);*/

    @GetMapping("/front/hktsDriver/getDriverInfoByUserId/{userId}")
    public Result<UserAndRealNameVo> getDriverInfoByUserId(@PathVariable(value="userId") String userId);
    @GetMapping("/front/hktsDriver/getDriverInfosByUserIds")
    public Result<Map<String, Object>> getDriverInfosByUserIds(@RequestParam("userIds") List<String> userIds);


    @GetMapping("/front/hktsRegion/getRegionName/{regionCod}")
    public Result<String> getRegionName(@PathVariable(value="regionCod") String regionCod);

    @GetMapping("/front/hktsRegion/hktsRegionGetByCode/{code}")
    public Result<HktsRegionTo> hktsRegionGetByCode(@PathVariable(value="code") String code);

    @GetMapping("/front/hktsRegion/getregionRedisByCode")
    public String getregionRedisByCode (@RequestParam("code") int code);

    @GetMapping("/front/hktsRealNameAuthentication/getIdsByDriverName/{driverName}")
    public Result<List<String>> getIdsByDriverName(@PathVariable String driverName);
    @GetMapping("/front/hktsRealNameAuthentication/getDriverInfosByMobile")
    public Result<List<DriverListInfoVo>> getDriverInfosByMobile(@RequestParam("mobile") String mobile);
    @GetMapping("/front/hktsDriverDetail/addDriverDetail")
    public Result<Object> addDriverDetail(@RequestParam("driverId") String driverId, @RequestParam("applauseRate") BigDecimal applauseRate, @RequestParam("tradeCount") Integer tradeCount);

    @GetMapping("/front/hktsRealNameAuthentication/getDriverNamesByIds/{ids}")
    public Result<Map<String,String>> getDriverNamesByIdsBy(@PathVariable(value="ids") String ids);

    @GetMapping("/front/hktsRegion/getRegionCode/{regionCod}")
    public Result<List<Integer>> getRegionCode(@PathVariable(value="regionCod") String regionCod);
    @PostMapping("/front/hktsCargoInformation/saveGargoInformation/{cargoInformation}")
    public Result<String> saveGargoInformation(@PathVariable String cargoInformation);
    @GetMapping("/front/hktsDictionaryItem/getDictItemByItemId/{itemId}")
    Result<Map<String,Object>> getDictItemByItemId(@PathVariable(value="itemId") String itemId);
    @GetMapping("/test/score")
    List<String> test2();

    @GetMapping("/front/hktsRegion/getQqsData")
    Result<Map<String,Object>> getQqsData(@RequestParam("content") String content,@RequestParam("region") String region);
}
